package com.suoluo.zenadmin.service.dest;

import java.util.List;

import com.suoluo.zenadmin.vo.dest.DestFeatureCategoryVO;

public interface DestFeatureCategoryService {

	/**
	 * 查询目的地特色类别集合
	 * @return
	 */
	public List<DestFeatureCategoryVO> findListDestFeatureCategory();
	/**
	 * 保存目的地特色类别
	 * @param category
	 * @return
	 */
	public void saveDestFeatureCategory(DestFeatureCategoryVO category);
	
	/**
	 * 查询特色类别中父类别集合,不包含特别体验
	 * @return
	 */
	public List<DestFeatureCategoryVO> findRootCategoryWithoutExperience();
	
	/**
	 * 根据Id查询目的地特色类别信息
	 * @param categoryId
	 * @return
	 */
	public DestFeatureCategoryVO findDestFeatureCategoryById(int categoryId);
	/**
	 * 更新目的地类别信息
	 * @param category
	 */
	public void updateDestFeatureCategory(DestFeatureCategoryVO category);
	/**
	 * 删除目的地特色类别
	 * @param categoryId
	 */
	public void deleteDestFeatureCategory(DestFeatureCategoryVO categoryVO);

	
	
	/**
	 * 查询所有的特色类别
	 * @return
	 */
	public List<DestFeatureCategoryVO> findAllCategory();
	
	
	/**
	 * 查询目的地特色的父类别，过滤掉住宿类型
	 * @return
	 */
	public List<DestFeatureCategoryVO> findRootCategoryWithoutHotel();
	
	/**
	 * 查询所有的父类别，并且父类别是根类别可见(root_viewable = 1)
	 * @return
	 */
	public List<DestFeatureCategoryVO> findAllRootCategory();
	
	
	/**
	 * 查询所有的叶子类别
	 * 1.所有叶子类别<br>
	 * 2.所有root_viewable = 0
	 * @return
	 */
	public List<DestFeatureCategoryVO> findAllLeafCategory();
}
